本文同步發佈於:Claire's BLOG
延續上一篇的範例: 請按此下載.
首先開啟src/app/heroes/heroes.component.ts
設定一個變數heroes
heroes: Hero[] = [
{ id: 11, name: 'Mr. Nice' },
{ id: 12, name: 'Narco' },
{ id: 13, name: 'Bombasto' },
{ id: 14, name: 'Celeritas' },
{ id: 15, name: 'Magneta' },
{ id: 16, name: 'RubberMan' },
{ id: 17, name: 'Dynama' },
{ id: 18, name: 'Dr IQ' },
{ id: 19, name: 'Magma' },
{ id: 20, name: 'Tornado' }
];
接著開啟heroes.component.html
,利用*ngFor來迴圈式的顯示列表內容
<ul class="heroes">
<li *ngFor="let hero of heroes">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
</ul>
這時網頁上就可以看到成果如下圖:
更多資訊有關於ngFor
開啟src/app/heroes/heroes.component.ts
,在li裡面增加click
的事件
<li *ngFor="let hero of heroes" (click)="onSelect(hero)">
打開heroes.component.html
,在li內增加 [class.要增加的類別名稱]="條件式為true時增加"
<li *ngFor="let hero of heroes"
[class.selected]="hero === selectedHero"
(click)="onSelect(hero)">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
這樣當hero === selectedHero
為真時,這個li
就會被加上selected
這個類別
接下來再到src/app/heroes/heroes.component.css
設定該類別的CSS,就能突顯現在所選擇的是那一個了
.selected{
color:red;
}
接著開啟app.component.html,該開啟heroes.component.html吧?
已修正,謝謝回報!
您好,為何在加入(click)="onSelect(hero)"後,點擊該li,我會一直顯示TYPE ERROR _co.onSelect is not a function這個錯誤,是不是有哪裡我該注意的卻沒注意到?
沒事,我瞭解了,謝謝
你好
開啟src/app/heroes/heroes.component.ts,在li裡面增加click的事件
程式碼是否應修正為:
selectedHero: Hero;
onSelect(hero: Hero): void {
this.selectedHero = hero;
}